/*
    利用ArUco模块创建aruco标记板,aruco::GridBoard::create()的参数含义如下
    （1）参数markersX：在 X 轴方向上的标记数；
    （2）参数markersY：在Y 轴方向上的标记数；
    （3）参数markerLength：标记边长，单位通常为米；
    （4）参数markerSaparation：标记间隔，单位通常为米；
    （5）参数dictionary：生成标记的字典。
*/

#include <opencv2/opencv.hpp>
#include <opencv2/aruco.hpp>

#include "parameter.h"

int main(int argc, char** argv)
{   
    ParameterReader pd;

    double markerLength = atof(pd.getData("markerLength").c_str());
    int arucoFormatId = atoi(pd.getData("arucoFormatId").c_str());

    std::vector < std::vector<cv::Point3f>> objPoints;
    auto dictionary = cv::aruco::getPredefinedDictionary(arucoFormatId);
	auto board = cv::aruco::GridBoard::create(3, 5, 0.04, 0.01, dictionary);

    cv::Mat boardImg;
	board->draw(cv::Size(600, 800), boardImg, 10, 1);
	cv::imshow("boardImg", boardImg);
    cv::waitKey(0);
    cv::imwrite("../data/boardImg.png",boardImg);
    return 0;
}